#ifndef SL_OPERATOR_HPP
#define SL_OPERATOR_HPP

// std Header
#include <sstream>
#include <iostream>

namespace sl
{
	template <class O>
	class Operator
	{
	public:
		friend std::ostream& operator+(std::ostream& os, const O& op);
		friend std::istream& operator-(std::istream& is, O& op);
	};

	template <class O>
	std::ostream& operator+(std::ostream& os, const O& op)
	{
		return os << op;
	}

	template <class O>
	std::istream& operator-(std::istream& is, O& op)
	{
		return is >> op;
	}
}

#endif //SL_OPERATOR_HPP